package com.gotokeep.keep.composition;

import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

/**
 * @author xana/cuixianming
 * @version 1.0
 * @since 2018-04-26 10:50
 */
public class MediaCompositionFactory {
    /**
     * 创建一个 FFmpeg 的 MediaComposition，所有的操作均为 FFmpeg 进行（软解）
     * @param executor FFmpeg 执行器
     * @return 失败时返回 null
     */
    public static MediaComposition createFFmpegComposition(String tempPath, @NonNull FFmpegExecutor executor) {
        return null;
    }

    /**
     * 创建一个 MediaCodec + OpenGL ES 的 MediaComposition，API 18 以下时需要<br />
     * 使用 FFmpeg 进行最终的格式封装，如没有 executor 会抛出异常。API 18 以上将忽略 executor
     * @param executor FFmpeg 执行器
     * @return 失败时返回 null
     */
    public static MediaComposition createNativeComposition(String tempPath, @Nullable FFmpegExecutor executor) {
        return new MeidaCompositionImpl();
    }
}
